import Vue from 'vue'

const requireComponent = require.context(
    // 其组件目录的相对路径
    './components/common',
    // './components/common',
    // './components/content',
    // 是否查询其子目录
    false,
    // 匹配vue后缀文件名的文件
    /\.vue$/
  )
  // 遍历获取到的文件名，依次进行全局注册
  requireComponent.keys().forEach(fileName => {
    // 获取组件配置(实例)
    const componentConfig = requireComponent(fileName) 
    // 获取组件的 PascalCase 命名(eg: MYHeader)
    let componentName = fileName.replace(/^\.\//, '').replace(/\/\index.vue$/, '') 
    // 此时获取到的是 xxx.vue, 然后通过 . 分割 获取到组件名 
       componentName = componentName.split('.')[0]    
      // 全局注册组件
    Vue.component(
      componentName,
      // 如果这个组件选项是通过 `export default` 导出的，
      // 那么就会优先使用 `.default`，
      // 否则回退到使用模块的根。
      componentConfig.default || componentConfig
    )
  })